package org.iabako.shared.iservice.business;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import org.iabako.shared.dto.FinancesBalance;
import org.iabako.shared.dto.FinancesChartData;
import org.iabako.shared.entity.user.Enterprise;

import java.util.List;

/**
 * Created by jose on 12/11/14.
 */

@RemoteServiceRelativePath("iabakoServices/financeService")
public interface FinanceService extends RemoteService {

    FinancesBalance getFinancesBalanceByDay(String yyyyMMDD);

    FinancesBalance getFinancesBalanceByMonth(int month);

    FinancesBalance getFinancesBalanceByYear(int year);

    List<Double> getPendingResume();

    List<Double> getPendingResume(Enterprise enterprise);

    List<FinancesChartData> getSalesExpensesForLastMonths(String ddMMyyyy);

    List<FinancesChartData> getSalesExpensesForLastYears(int year);

    List<FinancesChartData> getExpensesByCategoryForMonth(int month);

    List<FinancesChartData> getExpensesByCategoryForYear(int year);

    List<FinancesChartData> getBestClients();

    List<FinancesChartData> getBestServices();

    List<FinancesChartData> getWorstClients();

    List<FinancesChartData> getBestProducts();
}
